Learn R Programming

pomp (version 1.10)

Nonlinear forecasting: Parameter estimation my maximum simulated quasi-likelihood (nonlinear forecasting)

Description

nlf calls an optimizer to maximize the nonlinear forecasting (NLF) goodness of fit. The latter is computed by simulating data from a model, fitting a nonlinear autoregressive model to the simulated time series, and quantifying the ability of the resulting fitted model to predict the data time series. NLF is an ‘indirect inference’ method using a quasi-likelihood as the objective function.

Usage

"nlf"(object, start, est, lags, period = NA, tensor = FALSE, nconverge=1000, nasymp=1000, seed = 1066, transform.data, nrbf = 4, method = c("subplex", "Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN", "Brent"), skip.se = FALSE, verbose = getOption("verbose"), bootsamp = NULL, lql.frac = 0.1, se.par.frac = 0.1, eval.only = FALSE, transform = FALSE, ...) "nlf"(object, start, est, lags, period, tensor, nconverge, nasymp, seed, transform.data, nrbf, method, lql.frac, se.par.frac, transform, ...)

Arguments

object
A pomp object, with the data and model to fit to it.
start
Named numeric vector with guessed parameters.
est
Vector containing the names or indices of parameters to be estimated.
lags
A vector specifying the lags to use when constructing the nonlinear autoregressive prediction model. The first lag is the prediction interval.
period
numeric; period=NA means the model is nonseasonal. period>0 is the period of seasonal forcing in 'real time'.
tensor
logical; if FALSE, the fitted model is a generalized additive model with time mod period as one of the predictors, i.e., a gam with time-varying intercept. If TRUE, the fitted model is a gam with lagged state variables as predictors and time-periodic coefficients, constructed using tensor products of basis functions of state variables with basis functions of time.
nconverge
number of convergence timesteps to be discarded from the model simulation.
nasymp
number of asymptotic timesteps to be recorded from the model simulation.
seed
integer specifying the random number seed to use. When fitting, it is usually best to always run the simulations with the same sequence of random numbers, which is accomplished by setting seed to an integer. If you want a truly random simulation, set seed=NULL.
transform
logical; if TRUE, parameters are optimized on the transformed scale.
transform.data
optional function. If specified, forecasting is performed using data and model simulations transformed by this function. By default, transform.data is the identity function, i.e., no transformation is performed. The main purpose of transform.data is to achieve approximately multivariate normal forecasting errors. If data are univariate, transform.data should take a scalar and return a scalar. If data are multivariate, transform.data should assume a vector input and return a vector of the same length.
nrbf
integer scalar; the number of radial basis functions to be used at each lag.
method
Optimization method. Choices are subplex and any of the methods used by optim.
skip.se
logical; if TRUE, skip the computation of standard errors.
verbose
logical; if TRUE, the negative log quasilikelihood and parameter values are printed at each iteration of the optimizer.
bootsamp
vector of integers; used to have the quasi-loglikelihood evaluated using a bootstrap re-sampling of the data set.
lql.frac
target fractional change in log quasi-likelihood for quadratic standard error estimate
se.par.frac
initial parameter-change fraction for quadratic standard error estimate
eval.only
logical; if TRUE, no optimization is attempted and the quasi-loglikelihood value is evaluated at the start parameters.
...
Arguments that will be passed to optim or subplex in the control list.

Value

An object of class nlfd.pomp. logLik applied to such an object returns the log quasi likelihood. The $ method allows extraction of arbitrary slots from the nlfd.pomp object.

Details

This runs an optimizer to maximize nlf.objfun.

References

The following papers describe and motivate the NLF approach to model fitting:

Ellner, S. P., Bailey, B. A., Bobashev, G. V., Gallant, A. R., Grenfell, B. T. and Nychka D. W. (1998) Noise and nonlinearity in measles epidemics: combining mechanistic and statistical approaches to population modeling. American Naturalist 151, 425--440.

Kendall, B. E., Briggs, C. J., Murdoch, W. W., Turchin, P., Ellner, S. P., McCauley, E., Nisbet, R. M. and Wood S. N. (1999) Why do populations cycle? A synthesis of statistical and mechanistic modeling approaches. Ecology 80, 1789--1805.

Kendall, B. E., Ellner, S. P., McCauley, E., Wood, S. N., Briggs, C. J., Murdoch, W. W. and Turchin, P. (2005) Population cycles in the pine looper moth (Bupalus piniarius): dynamical tests of mechanistic hypotheses. Ecological Monographs 75, 259--276.